package com.tjmc.recruit.admin.api.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.tjmc.recruit.admin.api.enums.ChatMessageTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 会话信息表
 *
 * @author recruit
 * @date 2024-12-03 16:02:27
 */
@Data
@TableName("session_info")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "会话信息表")
public class SessionInfoEntity extends Model<SessionInfoEntity> {


    /**
     * 主键ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description = "主键ID")
    private Long id;

    /**
     * 会话ID
     */
    @Schema(description = "会话ID")
    private String sessionId;

    /**
     * 会话发送用户ID
     */
    @Schema(description = "会话发送用户ID")
    private String sendUserId;

    /**
     * 会话发送用户名称
     */
    @Schema(description = "会话发送用户名称")
    private String sendUserName;

    /**
     * receiverUserId
     */
    @Schema(description = "会话接收用户ID")
    private String receiverUserId;

    /**
     * 会话接收用户名称
     */
    @Schema(description = "会话接收用户名称")
    private String receiverUserName;

    /**
     * 会话内容
     */
    @Schema(description = "会话内容")
    private String messageContent;

    /**
     * 时间戳
     */
    @Schema(description = "时间戳")
    private String timestamp;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    @Schema(description = "更新时间")
    private LocalDateTime updateAt;

    /**
     * 操作标识：1同意2拒绝
     */
    @Schema(description = "操作标识：1同意2拒绝")
    private Integer operationFlag;

    /**
     * 操作消息id
     */
    @Schema(description = "操作消息id")
    private Long operationMessageId;

    /**
     * 沟通职位ID
     */
    @Schema(description = "沟通职位ID")
    private Long chatJobId;

    /**
     * 沟通职位名称
     */
    @Schema(description = "沟通职位名称")
    private String chatJobName;

    /**
     * 消息类型
     */
    @Schema(description = "消息类型")
    private ChatMessageTypeEnum messageType;

    /**
     * 阅读状态：0未读1已读
     */
    @Schema(description = "阅读状态：0未读1已读")
    private String readStatus;

}
